package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;

/** 字符流：java.io.Reader和java.io.Writer
 * 上述两个流是抽象类。是所有字符流的超类，定义了所有都具备的读写字符串的操作
 * 字符流都是高级流
 *
 * 转换流：java.io.InputStreamReader和java.io.OutputStreamWriter
 * 转换流是一对常用的字符流的实现类，它们可以将字节流转换为字符流
 *
 *
 * */
public class OswDemo {
    public static void main(String[] args) throws IOException {
     FileOutputStream fos = new FileOutputStream("osw.txt");
        //转换流在创建时可以明确字符集，通过它写出的文字都会使用该字符集来转换为字节
        OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        //字符流支持直接写出字符串，转换流会将字符串转换为字节后在通过文件流写出
        osw.write("人生南北多歧路");
        osw.write("君向潇湘我向秦");
        System.out.println("数据写出完毕");
        osw.close();



    }
}
